home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1994 #2 / Monster Media No. 2 (Monster Media)(1994).ISO / pcboard / tbg_dwho.zip / WHO.PPE (.txt) < prev   
PCBoard Programming Language Executable  |  1994-04-25  |  5KB  |  219 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 2.OO (plain) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     String   STRING001
  22.     String   STRING002
  23.  
  24. ;------------------------------------------------------------------------------
  25.  
  26.     If (Exist(PPEPath() + "who.cfg")) Then
  27.         FOpen 1, PPEPath() + "who.cfg", 0, 0
  28.         FGet 1, INTEGER002
  29.         FGet 1, STRING002
  30.     Else
  31.         PrintLn "@X06Configuration file WHO.CFG not fount, aborting..."
  32.         Stop
  33.     Endif
  34.     Gosub LABEL001
  35.     Gosub LABEL002
  36.     For INTEGER001 = 1 To INTEGER002
  37.         Gosub LABEL004
  38.     Next
  39.     Gosub LABEL003
  40.     Goto LABEL007
  41.     :LABEL001
  42.     If (ReadLine(PCBDat(), 90) == "0") Then
  43.         Newline
  44.         PrintLn "@X0F≡ @X09Sorry! No Network active! @X0F≡"
  45.         Newline
  46.     Else
  47.         Return
  48.         :LABEL002
  49.         Cls
  50.         PrintLn "@X02.---+----------------------+---------------------------+----------------------."
  51.         PrintLn "@X02|@X06Nd#@X02| @X07Name/Handle          @X02| @X07Location                  @X02| @X07Action               @X02|"
  52.         PrintLn "@X02)---+----------------------+---------------------------+----------------------("
  53.         Return
  54.         :LABEL003
  55.         PrintLn "@X02| @X06Devil's Who @X07Version 2.0ß - @X0FW@X07r@X08itten @X07b@X08y @X0FD@X07e@X08vil @X0FM@X07a@X08n @X07[TBG] - @X08" + STRING002 + "@POS:79@@X02|"
  56.         PrintLn "@X02`-----------------------------------------------------------------------------'"
  57.         Return
  58.         :LABEL004
  59.         RdUNet INTEGER001
  60.         Print "@X02|"
  61.         If (INTEGER001 > 99) Then
  62.             Print "@X06@POS:2@"
  63.         Else
  64.             Print "@X06@POS:3@"
  65.         Endif
  66.         Print INTEGER001
  67.         Print "@X02@POS:5@"
  68.         Print "|"
  69.         If (UN_Stat() == "") Then
  70.             PrintLn "@POS:7@@X07Not Available@POS:28@@X02|@POS:56@@X02|@POS:79@@X02|"
  71.             PrintLn "@X02|---+----------------------+---------------------------+----------------------|"
  72.             Return
  73.         Endif
  74.         Select Case (UN_Stat())
  75.             Case " ", "V"
  76.                 PrintLn "@POS:7@@X07No Caller this Node@POS:28@@X02|@POS:56@@X02|@POS:79@@X02|"
  77.                 PrintLn "@X02|---+----------------------+---------------------------+----------------------|"
  78.                 Return
  79.             Case "Y"
  80.                 PrintLn "@POS:7@@X07Node Offline@POS:28@@X02|@POS:56@@X02|@POS:79@@X02|"
  81.                 Return
  82.             Case Else
  83.                 If (!(UN_Name() == "")) Print "@POS:7@@X07" + UN_Name() + "@POS:28@@X02|"
  84.                 If (!(UN_City() == "")) Print "@POS:30@@X07" + UN_City() + "@POS:56@@X02|"
  85.                 Gosub LABEL005
  86.         End Select
  87.         PrintLn "@X02|---+----------------------+---------------------------+----------------------|"
  88.         Return
  89.         :LABEL005
  90.         If (PcbNode() == INTEGER001) Then
  91.             PrintLn "@POS:58@@X07Using Devil's Who@POS:79@@X02|"
  92.         Else
  93.             Select Case (UN_Stat())
  94.                 Case "A"
  95.                     PrintLn "@POS:58@@X07Available for Chat@POS:79@@X02|"
  96.                 Case "U"
  97.                     PrintLn "@POS:58@@X07Unavailable for Chat@POS:79@@X02|"
  98.                 Case "O"
  99.                     PrintLn "@POS:58@@X07Logon Sequence@POS:79@@X02|"
  100.                 Case "S"
  101.                     PrintLn "@POS:58@@X07Answering a Script@POS:79@@X02|"
  102.                 Case "B"
  103.                     PrintLn "@POS:58@@X07Out to Dos@POS:79@@X02|"
  104.                 Case "T"
  105.                     Gosub LABEL006
  106.                 Case "D"
  107.                     PrintLn "@POS:58@@X07User in a Door@POS:79@@X02|"
  108.                 Case "C"
  109.                     PrintLn "@POS:58@@X07Chatting with Sysop@POS:79@@X02|"
  110.                 Case "G"
  111.                     PrintLn "@POS:58@@X07Chatting with Group@POS:79@@X02|"
  112.                 Case "M"
  113.                     PrintLn "@POS:58@@X07Rcvd Broadcast Msg@POS:79@@X02|"
  114.                 Case "E"
  115.                     PrintLn "@POS:58@@X07Entering a Message@POS:79@@X02|"
  116.                 Case "P"
  117.                     PrintLn "@POS:58@@X07Paging Sysop@POS:79@@X02|"
  118.                 Case "W"
  119.                     PrintLn "@POS:58@@X07Node dropped to Dos@POS:79@@X02|"
  120.                 Case "R"
  121.                     PrintLn "@POS:58@@X07Recycling Node@POS:79@@X02|"
  122.                 Case "L"
  123.                     PrintLn "@POS:58@@X07AutoLogoff Sequence@POS:79@@X02|"
  124.                 Case "X"
  125.                     PrintLn "@POS:58@@X07Drop to Dos pending@POS:79@@X02|"
  126.                 Case "F"
  127.                     PrintLn "@POS:58@@X07Viewing a File@POS:79@@X02|"
  128.                 Case "N"
  129.                     PrintLn "@POS:58@@X07Running Event@POS:79@@X02|"
  130.                 Case "Z"
  131.                     PrintLn "@POS:58@@X07Node is Offline@POS:79@@X02|"
  132.                 Case Else
  133.                     PrintLn "@POS:58@@X07Unknown Activity@POS:79@@X02|"
  134.                 Endif
  135.         End Select
  136.         Return
  137.         :LABEL006
  138.         STRING001 = Left(UN_Oper(), 3)
  139.         Select Case (STRING001)
  140.             Case "(U)"
  141.                 PrintLn "@POS:58@@X07Uploading@POS:79@@X02|"
  142.             Case "(D)"
  143.                 PrintLn "@POS:58@@X07Downloading@POS:79@@X02|"
  144.             Case Else
  145.                 PrintLn "@POS:58@@X07Beginning Transfer@POS:79@@X02|"
  146.         End Select
  147.         Return
  148.     Endif
  149.     :LABEL007
  150.     End
  151.  
  152. ;------------------------------------------------------------------------------
  153. ;
  154. ; Usage report (before postprocessing)
  155. ;
  156. ; ■ Statements used :
  157. ;
  158. ;    1       End
  159. ;    1       Cls
  160. ;    58      Goto 
  161. ;    3       Let 
  162. ;    8       Print 
  163. ;    36      PrintLn 
  164. ;    31      If 
  165. ;    1       FOpen 
  166. ;    2       FGet 
  167. ;    6       Gosub 
  168. ;    9       Return
  169. ;    2       Newline
  170. ;    1       Stop
  171. ;    1       RdUNet 
  172. ;
  173. ;
  174. ; ■ Functions used :
  175. ;
  176. ;    9       +
  177. ;    29      ==
  178. ;    1       <
  179. ;    1       <=
  180. ;    1       >
  181. ;    2       >=
  182. ;    31      !
  183. ;    2       &&
  184. ;    2       ||
  185. ;    1       Left()
  186. ;    1       PCBDat()
  187. ;    2       PPEPath()
  188. ;    1       PcbNode()
  189. ;    1       ReadLine()
  190. ;    23      UN_Stat()
  191. ;    2       UN_Name()
  192. ;    2       UN_City()
  193. ;    1       UN_Oper()
  194. ;    1       Exist()
  195. ;
  196. ;------------------------------------------------------------------------------
  197. ;
  198. ; Analysis flags : d
  199. ;
  200. ; d - Access PCBOARD.DAT ■ 2
  201. ;     Program gets the full pathname to PCBOARD.DAT, this may be usefull
  202. ;     for many PPE so they can find various informations on the system
  203. ;     (system paths, max number of lines in messages, ...) but it may also
  204. ;     be a way to gather vital informations.
  205. ;     ■ Search for : PCBDAT()
  206. ;
  207. ;------------------------------------------------------------------------------
  208. ;
  209. ; Postprocessing report
  210. ;
  211. ;    1       For/Next
  212. ;    0       While/EndWhile
  213. ;    5       If/Then or If/Then/Else
  214. ;    3       Select Case
  215. ;
  216. ;------------------------------------------------------------------------------
  217. ;                 AEGiS Corp - Break the routines, code against the machines!
  218. ;------------------------------------------------------------------------------
  219.